package com.ljc;

/**
 * @author clj
 * @date 2022/8/26
 * @desc
 * Given a sorted array of distinct integers and a target value, return the index if the target is found.
 * If not, return the index where it would be if it were inserted in order.
 * You must write an algorithm with O(log n) runtime complexity.
 * Example 1:
 * Input: nums = [1,3,5,6], target = 5
 * Output: 2
 * Example 2:
 * Input: nums = [1,3,5,6], target = 2
 * Output: 1
 * Example 3:
 * Input: nums = [1,3,5,6], target = 7
 * Output: 4
 */
public class E35SearchInsertPos {
    static int[] nums = new int[]{1,3,5,6};
    static int target = 0;

    public static void main(String[] args) {
        int point = searchInsertPos(nums, target);
        System.out.println(point);
    }

    public static int searchInsertPos(int[] nums, int target) {
        int point = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == target) {
                return i;
            }else if (nums[i] > target) {
                return i;
            }else if (nums[i] < target && i == nums.length - 1) {
                return i+1;
            }
        }
        return point;
    }

}
